/*
 * BangoEvent.h
 *
 *  Created on: 24 Dec 2012
 *      Author: sonya
 */

#ifndef BANGOEVENT_H_
#define BANGOEVENT_H_


#include "BangoNameValuePair.h"
#include "BangoFieldNames.h"
#include "BangoStatic.h"


class BangoEvent
{

private:
	int _profileId;
	int _eventId;
	QString _eventName;
	QString _eventDetail;
	QString _eventValue;
	QDateTime _eventTime;
	QDateTime _eventLocalTime;
	QString _errorId;
	int _errorLevel;
	int _connectionType;
	QString _operatorConnectionType;
	QVector<BangoNameValuePair>  _eventParameters;
	bool _eventPosted;

public:
	void ProfileID(int profileId){_profileId = profileId;}
	int ProfileID(){return _profileId;}
	void EventID(int eventId){_eventId = eventId;}
	int EventID(){return _eventId;}
	void EventName(QString eventName){_eventName = eventName;}
	QString EventName(){return _eventName;}
	void EventDetail(QString eventDetail){_eventDetail = eventDetail;}
	QString EventDetail(){return _eventDetail;}
	void EventValue(QString eventValue){_eventValue = eventValue;}
	QString EventValue(){return _eventValue;}
	void EventTime(QDateTime eventTime){_eventTime = eventTime;}
	QDateTime EventTime(){return _eventTime;}
	void EventLocalTime(QDateTime eventLocalTime){_eventLocalTime = eventLocalTime;}
	QDateTime EventLocalTime(){return _eventLocalTime;}
	void ErrorID(QString errorId){_errorId = errorId;}
	QString ErrorID(){return _errorId;}
	void ErrorLevel(int errorLevel){_errorLevel = errorLevel;}
	int ErrorLevel(){ return _errorLevel;}
	void ConnectionType(int connectionType){ _connectionType = connectionType; }
	int ConnectionType(){return _connectionType; }
	void OperatorConnectionType(QString operatorConnectionType){ _operatorConnectionType = operatorConnectionType; }
	QString OperatorConnectionType(){return _operatorConnectionType; }
	void EventParameters(QVector<BangoNameValuePair>  eventParameters){ _eventParameters = eventParameters;}
	QVector<BangoNameValuePair> EventParamters(){return _eventParameters;}
	void EventPosted(bool eventPosted){_eventPosted = eventPosted;}
	bool EventPosted(){return _eventPosted;}
	QVariantMap GetEventDetails();

	BangoEvent();
	BangoEvent(int eventId, int connectionType, QString operatorConnectionType, QString eventName, QString eventValue, QString eventDetail, QDateTime eventTime, QDateTime eventLocalTime, int errorLevel,
			QString errorId, QVector<BangoNameValuePair> eventParameters);
	~BangoEvent();
};


#endif /* BANGOEVENT_H_ */
